
const { Controller, Subscription } = require('egg');

module.exports = class StudentController extends Controller {

  //显示页面
  async showStudent() {
    const { ctx, ctx: { service, helper } } = this

    let config = this.config        //拿到系统配置
    let app = this.app              //Application 实例
    let logger = ctx.logger         //拿到log对象

    // this.ctx.redirect('/aaa')       //站内重定向
    // this.ctx.redirect('https://www.baidu.com')       //站外重定向

    let { name } = await this.ctx.query;

    // 设置cookies
    ctx.cookies.set('count', 10);

    // 设置状态码
    ctx.status = 200;

    // 设置session
    ctx.session.name = name

    var obj = {
      name: 'wwwadwa',
      token: 'asdasd',
    }

    try {
      //参数校验
      const createRule = {
        name: { type: 'string' },          //验证属性是不是string类型的
        token: { type: 'isLogin' }         //自定义验证  是否登录
      };
      //如果第二个参数不传的话 默认是body    详情去看parameter这个库
      ctx.validate(createRule, obj);
    } catch (err) {
      ctx.status = 422;
      ctx.body = '有错误哦'
      return;
    }


    this.logger.debug('aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa')
    this.logger.info({ name: 'info' })
    this.logger.warn({ name: 'warn' })
    this.logger.error({ name: 'error' })

    console.log(ctx.sequelize)

    // 渲染页面
    await ctx.render('student', {
      name: 10,
      ctx: ctx
    })



  }

  // 查询所有学生
  async getAllStudent() {
    const { ctx, ctx: { service, helper } } = this
    // 获取get请求URL参数
    let { name } = await this.ctx.query;

    // 获取路由参数
    let { studentId } = await this.ctx.params;

    // 主题内容参数 请求体参数
    let body = ctx.request.body


    // 调用工具类库
    helper.show()

    // 调用service数据
    var ServiceRs = await service.studentService.findUser()

    ctx.body = '什么鬼'

  }

  // 根据id查询学生详情
  async getStudentById() {

  }

  // 添加学生
  async createStudent() {
    const { ctx, ctx: { service, helper } } = this
    // 获取get请求URL参数
    let { } = await this.ctx.query;

    // 获取路由参数
    let { studentId } = await this.ctx.params;

    // 主题内容参数 请求体参数
    let body = ctx.request.body

    console.log('我是学生哈哈哈')
    console.log(studentId)
    console.log(body)
    ctx.body = '我是后端返回的数据'
  }

  // 修改学生
  async updateStudent() {
    
  }

  // 删除学生
  async deleteStudent() {
    
  }


}

